home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple II Magazines (DO)
/
Micro on the Apple Volume 2 (1981)(Micro Ink).zip
/
Micro on the Apple Volume 2 (1981)(Micro Ink).do
/
SEARCH.bas
< prev
next >
Wrap
BASIC Source File
|
1996-12-24
|
2KB
|
43 lines
1 REM ************************
2 REM * *
3 REM * STRING SEARCH ROUTINE*
4 REM * GARY LITTLE *
5 REM * *
6 REM * COPYRIGHT (C) 1981 *
7 REM * MICRO INK, INC. *
8 REM * CHELMSFORD, MA 01824 *
9 REM * ALL RIGHTS RESERVED *
10 REM * *
11 REM ************************
12 REM
14 REM
15 PRINT "<CTRL-D>BLOAD STRING SEARCH"
100 S$ = "": REM MUST BE FIRST DEFINED SIMPLE VARIABLE
110 N = 2000: DIM R$(N): REM MUST BE FIRST DEFINED ARRAY VARIABLE
120 GOSUB 1000: REM LOAD SEARCH ROUTINE
130 DEF FN MD(X) = X -256 * INT(X/256)
140 TEXT : HOME : PRINT TAB( 8);: INVERSE : PRINT "STRING ARRAY SEARCH DEMO": NORMAL
150 PRINT : PRINT "RANDOM STRINGS:": PRINT
160 FOR I = 1 TO N:R$(I) = CHR$(65 +26 * RND(1)) + CHR$(65 +26 * RND(1)): PRINT R$(I);" ";: NEXT I: PRINT : PRINT
170 INPUT "ENTER SEARCH STRING: ";S$: PRINT
180 SV = AV:C = 1
190 SV = PEEK(105) +256 * PEEK(106)
200 AV = PEEK(107) +256 * PEEK(108)
210 POKE 0, PEEK(SV +2): POKE 6, PEEK(SV +3): POKE 7, PEEK(SV +4)
220 POKE 30, FN MD(C): POKE 31, INT(C/256)
230 POKE 28, FN MD(N): POKE 29, INT(N/256)
240 POKE 8, FN MD(AV +7 +3 *C): POKE 9, INT((AV +7 +3 *C)/256)
250 CALL 768
260 C = PEEK(30) +256 * PEEK(31)
270 IF C >N THEN 300
280 PRINT S$;" MATCHES #";C;" (PHRASE: ";R$(C);")"
290 C = C +1: IF C < = N THEN 190
300 PRINT : PRINT "MACHINE LANGUAGE SEARCH COMPLETED"
310 PRINT : INPUT "PRESS 'RETURN' FOR APPLESOFT SEARCH: ";A$: PRINT
320 FOR I = 1 TO N
330 IF S$ = LEFT$(R$(I), LEN(S$)) THEN PRINT S$;" MATCHES #";I;" (PHRASE: ";R$(I);") "
340 NEXT I: PRINT : PRINT "APPLESOFT SEARCH COMPLETED": END
1000 FOR I = 768 TO 849: READ X: POKE I,X: NEXT I: RETURN
1010 DATA 32,74,255,160,0,177,8,133,1,200,177,8,133,26,200,177,8,133,27,165,1,197,0,48,15,160,0,177,6,209
1020 DATA 26,208,7,200,196,0,240,16,208,243,165,30,197,28,208,11,165,31,197,29,208,5,230,31,76,63,255,24,165,8
1030 DATA 105,3,144,2,230,9,133,8,24,165,30,105,1,144,2,230,31,133,30,56,176,177